home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / icon / czesc_2 / magicexpansion / include / libraries / muidefs.h
C/C++ Source or Header  |  1994-08-12  |  12KB  |  527 lines

  1. #ifndef MUIFDEFS_H
  2. #define MUIDEFS_H
  3.  
  4. /*
  5.  * $Source: include:libraries/muidefs.h,v $
  6.  *
  7.  * $Revision: 1.6 $
  8.  * $Author: Jojo $
  9.  * $Date: 1994/07/27 11:49:12 $
  10.  *
  11.  * $Log: muidefs.h,v $
  12.  * Revision 1.6  1994/07/27  11:49:12  Jojo
  13.  * Other bug removed :)
  14.  *
  15.  * Revision 1.5  1994/07/27  11:46:54  Jojo
  16.  * Bug removed.
  17.  *
  18.  * Revision 1.4  1994/07/24  16:52:36  Jojo
  19.  * added ImageButton() macro
  20.  *
  21.  * Revision 1.3  1994/07/19  19:16:53  Jojo
  22.  * Added Number() and Text() macros.
  23.  * Added new "...I"-versions for all the Integer gadgets (they take
  24.  * an integer value as argument and not a string).
  25.  *
  26.  * Revision 1.2  1994/07/17  16:51:13  Jojo
  27.  * Added macros for adding/reovong children to/from their parents
  28.  * Added Slider-macros (vertical sliders + quiet sliders)
  29.  *
  30.  * Revision 1.1  1994/04/17  11:04:00  Jojo
  31.  * Initial revision
  32.  *
  33.  */
  34.  
  35. /*
  36.  * Macros for adding/removeing children to/from their parents
  37.  */
  38.  
  39. #define addchild( parent, child ) DoMethod( parent, OM_ADDMEMBER, child )
  40. #define remchild( parent, child ) DoMethod( parent, OM_REMMEMBER, child )
  41.  
  42.  
  43. /*
  44.  * New "gadget type": Integer
  45.  */
  46.  
  47. #define ACCEPTSNUMBERS "0123456789-"
  48. #define ACCEPTUNUMBERS "0123456789"
  49.  
  50. #define SInteger( contents, maxLen )\
  51.  StringObject,\
  52.   StringFrame,\
  53.   MUIA_String_MaxLen, maxLen + 1,\
  54.   MUIA_String_Contents, contents,\
  55.   MUIA_String_Accept, acceptSNumbers,\
  56.   MUIA_String_Format, MUIV_String_Format_Right,\
  57.  End
  58.  
  59. #define UInteger( contents, maxLen )\
  60.  StringObject,\
  61.   StringFrame,\
  62.   MUIA_String_MaxLen, maxLen + 1,\
  63.   MUIA_String_Contents, contents,\
  64.   MUIA_String_Accept, acceptUNumbers,\
  65.   MUIA_String_Format, MUIV_String_Format_Right,\
  66.  End
  67.  
  68. #define KeySInteger( contents, maxLen, ctrlChar )\
  69.  StringObject,\
  70.   StringFrame,\
  71.   MUIA_ControlChar, ctrlChar,\
  72.   MUIA_String_MaxLen, maxLen + 1,\
  73.   MUIA_String_Contents, contents,\
  74.   MUIA_String_Accept, acceptSNumbers,\
  75.   MUIA_String_Format, MUIV_String_Format_Right,\
  76.  End
  77.  
  78. #define KeyUInteger( contents, maxLen, ctrlChar )\
  79.  StringObject,\
  80.   StringFrame,\
  81.   MUIA_ControlChar, ctrlChar,\
  82.   MUIA_String_MaxLen, maxLen + 1,\
  83.   MUIA_String_Contents, contents,\
  84.   MUIA_String_Accept, acceptUNumbers,\
  85.   MUIA_String_Format, MUIV_String_Format_Right,\
  86.  End
  87.  
  88. #define WtSInteger( contents, maxLen, weight )\
  89.  StringObject,\
  90.   StringFrame,\
  91.   MUIA_Weight, weight,\
  92.   MUIA_String_MaxLen, maxLen + 1,\
  93.   MUIA_String_Contents, contents,\
  94.   MUIA_String_Accept, acceptSNumbers,\
  95.   MUIA_String_Format, MUIV_String_Format_Right,\
  96.  End
  97.  
  98. #define WtUInteger( contents, maxLen, weight )\
  99.  StringObject,\
  100.   StringFrame,\
  101.   MUIA_Weight, weight,\
  102.   MUIA_String_MaxLen, maxLen + 1,\
  103.   MUIA_String_Contents, contents,\
  104.   MUIA_String_Accept, acceptUNumbers,\
  105.   MUIA_String_Format, MUIV_String_Format_Right,\
  106.  End
  107.  
  108. #define WtKeySInteger( contents, maxLen, ctrlChar, weight )\
  109.  StringObject,\
  110.   StringFrame,\
  111.   MUIA_Weight, weight,\
  112.   MUIA_ControlChar, ctrlChar,\
  113.   MUIA_String_MaxLen, maxLen + 1,\
  114.   MUIA_String_Contents, contents,\
  115.   MUIA_String_Accept, acceptSNumbers,\
  116.   MUIA_String_Format, MUIV_String_Format_Right,\
  117.  End
  118.  
  119. #define WtKeyUInteger( contents, maxLen, ctrlChar, weight )\
  120.  StringObject,\
  121.   StringFrame,\
  122.   MUIA_Weight, weight,\
  123.   MUIA_ControlChar, ctrlChar,\
  124.   MUIA_String_MaxLen, maxLen + 1,\
  125.   MUIA_String_Contents, contents,\
  126.   MUIA_String_Accept, acceptUNumbers,\
  127.   MUIA_String_Format, MUIV_String_Format_Right,\
  128.  End
  129.  
  130. #define SIntegerI( number, maxLen )\
  131.  StringObject,\
  132.   StringFrame,\
  133.   MUIA_String_MaxLen, maxLen + 1,\
  134.   MUIA_String_Integer, number,\
  135.   MUIA_String_Accept, acceptSNumbers,\
  136.   MUIA_String_Format, MUIV_String_Format_Right,\
  137.  End
  138.  
  139. #define UIntegerI( number, maxLen )\
  140.  StringObject,\
  141.   StringFrame,\
  142.   MUIA_String_MaxLen, maxLen + 1,\
  143.   MUIA_String_Integer, number,\
  144.   MUIA_String_Accept, acceptUNumbers,\
  145.   MUIA_String_Format, MUIV_String_Format_Right,\
  146.  End
  147.  
  148. #define KeySIntegerI( number, maxLen, ctrlChar )\
  149.  StringObject,\
  150.   StringFrame,\
  151.   MUIA_ControlChar, ctrlChar,\
  152.   MUIA_String_MaxLen, maxLen + 1,\
  153.   MUIA_String_Integer, number,\
  154.   MUIA_String_Accept, acceptSNumbers,\
  155.   MUIA_String_Format, MUIV_String_Format_Right,\
  156.  End
  157.  
  158. #define KeyUIntegerI( number, maxLen, ctrlChar )\
  159.  StringObject,\
  160.   StringFrame,\
  161.   MUIA_ControlChar, ctrlChar,\
  162.   MUIA_String_MaxLen, maxLen + 1,\
  163.   MUIA_String_Integer, number,\
  164.   MUIA_String_Accept, acceptUNumbers,\
  165.   MUIA_String_Format, MUIV_String_Format_Right,\
  166.  End
  167.  
  168. #define WtSIntegerI( number, maxLen, weight )\
  169.  StringObject,\
  170.   StringFrame,\
  171.   MUIA_Weight, weight,\
  172.   MUIA_String_MaxLen, maxLen + 1,\
  173.   MUIA_String_Integer, number,\
  174.   MUIA_String_Accept, acceptSNumbers,\
  175.   MUIA_String_Format, MUIV_String_Format_Right,\
  176.  End
  177.  
  178. #define WtUIntegerI( number, maxLen, weight )\
  179.  StringObject,\
  180.   StringFrame,\
  181.   MUIA_Weight, weight,\
  182.   MUIA_String_MaxLen, maxLen + 1,\
  183.   MUIA_String_Integer, number,\
  184.   MUIA_String_Accept, acceptUNumbers,\
  185.   MUIA_String_Format, MUIV_String_Format_Right,\
  186.  End
  187.  
  188. #define WtKeySIntegerI( number, maxLen, ctrlChar, weight )\
  189.  StringObject,\
  190.   StringFrame,\
  191.   MUIA_Weight, weight,\
  192.   MUIA_ControlChar, ctrlChar,\
  193.   MUIA_String_MaxLen, maxLen + 1,\
  194.   MUIA_String_Integer, number,\
  195.   MUIA_String_Accept, acceptSNumbers,\
  196.   MUIA_String_Format, MUIV_String_Format_Right,\
  197.  End
  198.  
  199. #define WtKeyUIntegerI( number, maxLen, ctrlChar, weight )\
  200.  StringObject,\
  201.   StringFrame,\
  202.   MUIA_Weight, weight,\
  203.   MUIA_ControlChar, ctrlChar,\
  204.   MUIA_String_MaxLen, maxLen + 1,\
  205.   MUIA_String_Integer, number,\
  206.   MUIA_String_Accept, acceptUNumbers,\
  207.   MUIA_String_Format, MUIV_String_Format_Right,\
  208.  End
  209.  
  210.  
  211. /*
  212.  * New gadget type Note:
  213.  */
  214.  
  215. #define ACCEPTNOTES "CDEFGABH #0123456789"
  216.  
  217. #define Note( contents )\
  218.  StringObject,\
  219.   StringFrame,\
  220.   MUIA_String_MaxLen, 3 + 1,\
  221.   MUIA_String_Contents, contents,\
  222.   MUIA_String_Accept, acceptNotes,\
  223.   MUIA_String_Format, MUIV_String_Format_Right,\
  224.  End
  225.  
  226. #define KeyNote( contents, ctrlChar )\
  227.  StringObject,\
  228.   StringFrame,\
  229.   MUIA_ControlChar, ctrlChar,\
  230.   MUIA_String_MaxLen, 3 + 1,\
  231.   MUIA_String_Contents, contents,\
  232.   MUIA_String_Accept, acceptNotes,\
  233.   MUIA_String_Format, MUIV_String_Format_Right,\
  234.  End
  235.  
  236. #define WtNote( contents, weight )\
  237.  StringObject,\
  238.   StringFrame,\
  239.   MUIA_Weight, weight,\
  240.   MUIA_String_MaxLen, 3 + 1,\
  241.   MUIA_String_Contents, contents,\
  242.   MUIA_String_Accept, acceptNotes,\
  243.   MUIA_String_Format, MUIV_String_Format_Right,\
  244.  End
  245.  
  246. #define WtKeyNote( contents, ctrlChar, weight )\
  247.  StringObject,\
  248.   StringFrame,\
  249.   MUIA_Weight, weight,\
  250.   MUIA_ControlChar, ctrlChar,\
  251.   MUIA_String_MaxLen, 3 + 1,\
  252.   MUIA_String_Contents, contents,\
  253.   MUIA_String_Accept, acceptNotes,\
  254.   MUIA_String_Format, MUIV_String_Format_Right,\
  255.  End
  256.  
  257.  
  258. /*
  259.  * New Label-Macros: ...CLabel...() (centered labels)
  260.  */
  261.  
  262. #define CLabel( label )\
  263.  TextObject,\
  264.   MUIA_Text_PreParse, "c",\
  265.   MUIA_Text_Contents, label,\
  266.   MUIA_Weight, 0,\
  267.   MUIA_InnerLeft, 0,\
  268.   MUIA_InnerRight, 0,\
  269.  End
  270.  
  271. #define CLabel1( label )\
  272.  TextObject,\
  273.   MUIA_Text_PreParse, "c",\
  274.   MUIA_Text_Contents, label,\
  275.   MUIA_Weight, 0,\
  276.   MUIA_InnerLeft, 0,\
  277.   MUIA_InnerRight, 0,\
  278.   ButtonFrame,\
  279.   MUIA_FramePhantomHoriz, TRUE,\
  280.  End
  281.  
  282. #define CLabel2( label )\
  283.  TextObject,\
  284.   MUIA_Text_PreParse, "c",\
  285.   MUIA_Text_Contents, label,\
  286.   MUIA_Weight, 0,\
  287.   MUIA_InnerLeft, 0,\
  288.   MUIA_InnerRight, 0,\
  289.   StringFrame,\
  290.   MUIA_FramePhantomHoriz, TRUE,\
  291.  End
  292.  
  293. #define KeyCLabel( label, ctrlChar )\
  294.  TextObject,\
  295.   MUIA_Text_PreParse, "c",\
  296.   MUIA_Text_Contents, label,\
  297.   MUIA_Text_HiChar, ctrlChar,\
  298.   MUIA_Weight, 0,\
  299.   MUIA_InnerLeft, 0,\
  300.   MUIA_InnerRight, 0,\
  301.  End
  302.  
  303. #define KeyCLabel1( label, ctrlChar )\
  304.  TextObject,\
  305.   MUIA_Text_PreParse, "c",\
  306.   MUIA_Text_Contents, label,\
  307.   MUIA_Text_HiChar, ctrlChar,\
  308.   MUIA_Weight, 0,\
  309.   MUIA_InnerLeft, 0,\
  310.   MUIA_InnerRight, 0,\
  311.   ButtonFrame,\
  312.   MUIA_FramePhantomHoriz, TRUE,\
  313.  End
  314.  
  315. #define KeyCLabel2( label, ctrlChar )\
  316.  TextObject,\
  317.   MUIA_Text_PreParse, "c",\
  318.   MUIA_Text_Contents, label,\
  319.   MUIA_Text_HiChar, ctrlChar,\
  320.   MUIA_Weight, 0,\
  321.   MUIA_InnerLeft, 0,\
  322.   MUIA_InnerRight, 0,\
  323.   StringFrame,\
  324.   MUIA_FramePhantomHoriz, TRUE,\
  325.  End
  326.  
  327.  
  328. /*
  329.  * KeyPopButton-macro:
  330.  */
  331.  
  332. #define KeyPopButton( image, ctrlChar )\
  333.  ImageObject,\
  334.   ImageButtonFrame,\
  335.   MUIA_ControlChar, ctrlChar,\
  336.   MUIA_Image_Spec, image,\
  337.   MUIA_Image_FontMatchWidth, TRUE,\
  338.   MUIA_Image_FreeVert, TRUE,\
  339.   MUIA_InputMode, MUIV_InputMode_RelVerify,\
  340.   MUIA_Background, MUII_BACKGROUND,\
  341.  End
  342.  
  343. /*
  344.  * Simple use of RectangleObjects: HBar...() & VBar...()
  345.  */
  346.  
  347. #define HBar\
  348.  RectangleObject,\
  349.   MUIA_Rectangle_HBar, TRUE,\
  350.  End
  351.  
  352. #define VBar\
  353.  RectangleObject,\
  354.   MUIA_Rectangle_VBar, TRUE,\
  355.  End
  356.  
  357. #define HBarFixed( height )\
  358.  RectangleObject,\
  359.   MUIA_Rectangle_HBar, TRUE,\
  360.   MUIA_FixedHeight, height,\
  361.  End
  362.  
  363. #define VBarFixed( width )\
  364.  RectangleObject,\
  365.   MUIA_Rectangle_VBar, TRUE,\
  366.   MUIA_FixedWidth, width,\
  367.  End
  368.  
  369.  
  370. /*
  371.  * New Button-macros
  372.  */
  373.  
  374. #define ToggleButton( name, state )\
  375.  TextObject,\
  376.   ButtonFrame,\
  377.   MUIA_Text_Contents, name,\
  378.   MUIA_Text_PreParse, "\33c",\
  379.   MUIA_InputMode, MUIV_InputMode_Toggle,\
  380.   MUIA_Selected, state,\
  381.   MUIA_Background, MUII_ButtonBack,\
  382.  End
  383.  
  384. #define KeyToggleButton( name, state, ctrlChar )\
  385.  TextObject,\
  386.   ButtonFrame,\
  387.   MUIA_ControlChar, ctrlChar,\
  388.   MUIA_Text_HiChar, ctrlChar,\
  389.   MUIA_Text_Contents, name,\
  390.   MUIA_Text_PreParse, "\33c",\
  391.   MUIA_InputMode, MUIV_InputMode_Toggle,\
  392.   MUIA_Selected, state,\
  393.   MUIA_Background, MUII_ButtonBack,\
  394.  End
  395.  
  396. #define WtButton( name, weight )\
  397.  TextObject,\
  398.   ButtonFrame,\
  399.   MUIA_Weight, weight,\
  400.   MUIA_Text_Contents, name,\
  401.   MUIA_Text_PreParse, "\33c",\
  402.   MUIA_InputMode, MUIV_InputMode_RelVerify,\
  403.   MUIA_Background, MUII_ButtonBack,\
  404.  End
  405.  
  406. #define WtKeyButton( name, key, weight )\
  407.  TextObject,\
  408.   ButtonFrame,\
  409.   MUIA_Weight, weight,\
  410.   MUIA_Text_Contents, name,\
  411.   MUIA_Text_PreParse, "\33c",\
  412.   MUIA_Text_HiChar, key,\
  413.   MUIA_ControlChar, key,\
  414.   MUIA_InputMode, MUIV_InputMode_RelVerify,\
  415.   MUIA_Background, MUII_ButtonBack,\
  416.  End
  417.  
  418. #define WtToggleButton( name, state, weight )\
  419.  TextObject,\
  420.   ButtonFrame,\
  421.   MUIA_Weight, weight,\
  422.   MUIA_Text_Contents, name,\
  423.   MUIA_Text_PreParse, "\33c",\
  424.   MUIA_InputMode, MUIV_InputMode_Toggle,\
  425.   MUIA_Selected, state,\
  426.   MUIA_Background, MUII_ButtonBack,\
  427.  End
  428.  
  429. #define WtKeyToggleButton( name, state, ctrlChar, weight )\
  430.  TextObject,\
  431.   ButtonFrame,\
  432.   MUIA_Weight, weight,\
  433.   MUIA_ControlChar, ctrlChar,\
  434.   MUIA_Text_HiChar, ctrlChar,\
  435.   MUIA_Text_Contents, name,\
  436.   MUIA_Text_PreParse, "\33c",\
  437.   MUIA_InputMode, MUIV_InputMode_Toggle,\
  438.   MUIA_Selected, state,\
  439.   MUIA_Background, MUII_ButtonBack,\
  440.  End
  441.  
  442. #define ImageButton( spec )\
  443.   ImageObject,\
  444.     ButtonFrame,\
  445.     MUIA_InputMode, MUIV_InputMode_RelVerify,\
  446.     MUIA_Image_Spec, spec,\
  447.     MUIA_Background, MUII_ButtonBack,\
  448.   End
  449.  
  450. /*
  451.  * New Slider-macors
  452.  */
  453.  
  454. #define VSlider( min, max, level )\
  455.   SliderObject,\
  456.     MUIA_Group_Horiz, FALSE,\
  457.     MUIA_Slider_Min, min,\
  458.     MUIA_Slider_Max, max,\
  459.     MUIA_Slider_Level, level,\
  460.   End
  461.  
  462. #define KeyVSlider( min, max, level, key )\
  463.   SliderObject,\
  464.     MUIA_Group_Horiz, FALSE,\
  465.     MUIA_Slider_Min, min,\
  466.     MUIA_Slider_Max, max,\
  467.     MUIA_Slider_Level, level,\
  468.     MUIA_ControlChar, key,\
  469.   End
  470.  
  471. #define QuietSlider( min, max, level )\
  472.   SliderObject,\
  473.     MUIA_Slider_Min, min,\
  474.     MUIA_Slider_Max, max,\
  475.     MUIA_Slider_Level, level,\
  476.     MUIA_Slider_Quiet, TRUE,\
  477.   End
  478.  
  479. #define KeyQuietSlider( min, max, level, key )\
  480.   SliderObject,\
  481.     MUIA_Slider_Min, min,\
  482.     MUIA_Slider_Max, max,\
  483.     MUIA_Slider_Level, level,\
  484.     MUIA_ControlChar, key,\
  485.     MUIA_Slider_Quiet, TRUE,\
  486.   End
  487.  
  488. #define QuietVSlider( min, max, level )\
  489.   SliderObject,\
  490.     MUIA_Group_Horiz, FALSE,\
  491.     MUIA_Slider_Min, min,\
  492.     MUIA_Slider_Max, max,\
  493.     MUIA_Slider_Level, level,\
  494.     MUIA_Slider_Quiet, TRUE,\
  495.   End
  496.  
  497. #define KeyQuietVSlider( min, max, level, key )\
  498.   SliderObject,\
  499.     MUIA_Group_Horiz, FALSE,\
  500.     MUIA_Slider_Min, min,\
  501.     MUIA_Slider_Max, max,\
  502.     MUIA_Slider_Level, level,\
  503.     MUIA_ControlChar, key,\
  504.     MUIA_Slider_Quiet, TRUE,\
  505.   End
  506.  
  507.  
  508. /*
  509.  * ReadOnly objects:
  510.  */
  511.  
  512. #define Text( contents )\
  513.   TextObject,\
  514.     TextFrame,\
  515.     MUIA_Text_Contents, contents,\
  516.   End
  517.  
  518. #define Number( contents )\
  519.   TextObject,\
  520.     TextFrame,\
  521.     MUIA_Text_Contents, contents,\
  522.     MUIA_Text_PreParse, "r",\
  523.   End
  524.  
  525.  
  526. #endif
  527.